package com.ccp.dev.workflow.dao;

import com.ccp.dev.core.basic.base.IBaseMapper;
import com.ccp.dev.workflow.bpminterface.IActDefMapper;
import com.ccp.dev.workflow.model.bpm.BpmNodePrivilege;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * ClassDescribe:
 * 节点特权 Dao类
 * @author :wangcheng
 * Date: 2019-09-06
 */
public interface BpmNodePrivilegeDao extends IBaseMapper<BpmNodePrivilege, String>, IActDefMapper {
    /**
     * 根据发布ID,流程节点ID和特权类型获取特权列表
     * @param procDefId 流程定义id
     * @param nodeId 节点id
     * @param privilegeMode 特权类型
     * @return
     */
    List<BpmNodePrivilege> queryByProcDefIdAndNodeIdAndMode(@Param("procDefId") String procDefId, @Param("nodeId") String nodeId, @Param("privilegeMode") Long privilegeMode);

    /**
     * 根据流程定义id和节点id删除节点特权
     * @param procDefId 流程定义id
     * @param nodeId 节点id
     */
    void delByProcDefIdAndNodeId(@Param("procDefId") String procDefId, @Param("nodeId") String nodeId);

    /**
     * 根据流程定义id和节点id获取节点特权列表
     * @param procDefId 流程定义id
     * @param nodeId 节点id
     * @return
     */
    List<BpmNodePrivilege> queryByProcDefIdAndNodeId(@Param("procDefId") String procDefId, @Param("nodeId") String nodeId);
}
